home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / MacApp Documentation / MacApp AppleLink Messages / MacApp.Tech$ 5⁄18⁄90 / 1301-Another Re Printing-May90 < prev    next >
Encoding:
Text File  |  1990-05-18  |  3.1 KB  |  74 lines  |  [TEXT/GEOL]

  1. Item    7149643                         16-May-90        06:50PDT
  2.  
  3. From:   A33                             Drexel U, Nadine Perkey, ASC,PRA
  4.  
  5. To:     BETA                            Beta, Edward Anuff,PRT
  6.         MACAPP.TECH$                    MacApp Technical
  7.  
  8. Sub:    Another Re:  Printing >72 dpi
  9.  
  10. Ed,
  11.  
  12. I have some specific answers for you:
  13.  
  14. > 1) Has anyone done any work regarding printing to Chooser-level output
  15. devices
  16. > which are greater than 72 dpi in resolution?
  17.  
  18.    Yes, I have written an application (using MacApp 2.0B9) that prints plots of
  19.    weather data in the highest resolution that the currently selected printer
  20.    supports. It is not difficult.
  21.  
  22. > 2) How do I determine the resolution of the Chooser-ed printer from within
  23. > MacApp?
  24.  
  25.    Call the Printing Managers's PrGeneral routine with the opcode GetRslData
  26.    (see Inside Mac Vol 5, pp 410-414).
  27.  
  28. > 3) How do I take advantage of this information? Using the standard printer
  29. > stuff, my output appears at the screen resolution whether its on an
  30. > ImageWriter, LaserWriter, JDL plotter, etc.
  31.  
  32.    Override TStdPrintHandler to increase the printer resolution (which will
  33.    shrink the printed image) and draw the image for the printer, expanding
  34.    it by the appropriate amount so that the resulting image will be the
  35.    correct size. The coding is not too bad but what you have to override to
  36.    actually make it work is a bit of a hack.
  37.  
  38.    I overrode the following methods:
  39.  
  40.    SetPrintExtent - Expand the sizes of the view and print extent so that
  41.    the drawing gets clipped properly and the printer does not print blank
  42.    pages.
  43.    PosePrintDialog - Scale up the drawing to compensate for high res printing
  44.    JUST before the actual printing. We cannot rescale the drawing for
  45.    printing in the Print method (where it would make more sense) because
  46.    the standard print handler may update the window containing the drawing
  47.    after putting the job dialog away before drawing for the printer.
  48.    BanishPrintDialog - Unscale the drawing JUST after drawing for the printer.
  49.    Print - Call CheckPrinter in case the user has just changed printers via
  50.    the Chooser. If the current printer has variable resolution then set
  51.    its resolution to the highest it supports. Do inherited Print. Set the
  52.    printer back to the screen resolution. Also restore the size of the
  53.    view which got adjusted in SetPrintExtent.
  54.  
  55.    The views that use this print handler need fields representing horizontal
  56.    and vertical scaling factors which get set by the print handler (via an
  57.    access method) so that they can scale themselves to compensate for the
  58.    printer's resolution. Also, some access methods were added to the
  59.    drawing's view so we did not have to vandalize the its fSize from inside
  60.    the print handler.
  61.  
  62. > 4) Does 2.0 final support output resolutions? How about 2.1?
  63.  
  64.    I do not know, but I think it should be supported. I would think anyone
  65.    having to plot data would want to do this if they saw the immense
  66.    difference between 72 dpi and 1500 dpi LaserWriter output.
  67.  
  68. Hope this helps,
  69.  
  70.    Marianne Cain
  71.    Drexel University
  72.    Software Development Group
  73.  
  74.